Image processing device setting conflict determination

ABSTRACT

An image processing device, having plural functions and executing at least any one of the plural functions based on a request from an application program, includes: a storage to store, from among plural setting information selectable to one of the plural functions, simultaneous use possible/impossible information being information concerning a combination of settings usable simultaneously or a combination of settings non-usable simultaneously; a selector to select any one of the plural setting information to at least any one of the plural functions based on the request from the application program; a discriminator to discriminate, by referring to the simultaneous use possible/impossible information, whether or not competitive setting information being the setting information non-usable simultaneously with the setting information selected by the selector exists; and a notification unit to notify the application program of information concerning the competitive setting information, when the discriminator discriminates that the competitive setting information exists.

CROSS-REFERENCE TO RELATED APPLICATION

This is a reissue of U.S. Pat. No. 8,345,281, which issued on Jan. 1,2013 and was filed as U.S. patent application Ser. No. 11/695,632 onApr. 3, 2007. The contents of U.S. patent application Ser. No.11/695,632 are hereby incorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to control of an image processing devicewhich executes an image processing function to a request from anapplication.

2. Description of the Related Art

In recent years, a digital multifunction device based on a digitalcopying machine and having a scan function, a printer function and anetwork transmission/reception function has been in practical use, andan image processing device such as the digital multifunction device ofthis type has been increasingly sophisticated. More specifically, theimage processing device may not only execute copying of a paper originalbut also store image data as a file in a database provided in a harddisk thereof. Moreover, a function of transmitting image data by variousnetwork protocols has been in practical use. More specifically, theimage processing device may transmit the file stored in the databasethereof by an E-mail onto a network.

In this connection, the above functions of the digital multifunctiondevice are often combined with an information processing system of anexisting customer so as to improve customer's business.

To cope wish such an environment, an environment that an individualapplication can be added to the digital multifunction device has beenmanufactured.

For example, an image database system is constructed by operating, onthe multifunction device, an application which uses the image scanfunction and an image format conversion function of the digitalmultifunction device, and cooperating the multifunction device with thedatabase on the information processing system.

On the other hand, it should be noted that various kinds of imageprocessing devices exist in a customer's office, and functions andrestrictions of the respective image processing devices are differentfrom others.

For example, if the two image processing devices were manufactured by anidentical manufacturer but types thereof are different from each other,usable functions for the respective image processing devices may bedifferent, whereby there is a possibility that processing procedures ofthe respective image processing devices are restricted. In such a case,it is necessary to provide the plural applications with respect to eachof plural kinds of image processes.

To cope with such a problem, a technique of abstracting the functions ofthe image processing device and absorbing differences due to kinds ofdevices from the application has been proposed in Japanese PatentApplication Laid-Open No. 2000-222335.

By the above technique, it is possible to make software for providing acopy function applicable to any free combination of scanners andprinters of different manufacturers. In other words, it is possible byvirtualizing the differences in the devices to provide an environment inwhich application software can be easily developed.

On the other hand, since performance of a recent image processing deviceremarkably increases, the functions of the image processing device to beused by the application software increases. For example, a recentprinter can normally execute a complicated book binding process, aprocess of merging plural pages into one page, and the like.

However, if kinds of functions increase like this, a restriction occurson combinations of the functions. For example, a page serial copyfunction for dividing one-page original into plural outputs and areduction layout function for merging an original of plural pages into aone-page output cannot be designated simultaneously.

Further, there is a fact that a certain kind of function cannot be usedaccording to a condition of hardware. For example, when there is nostaple in a stapler, it is necessary to preclude a user from executing astapling process to output papers. That is, it is impossible by onlyvirtualizing the differences in the devices to cope with such adevice-dependent restriction.

Furthermore, it is difficult for a person who is an application softwaredeveloper but is not an engineer of a device manufacturer to effectivelyand satisfactorily design actual application software.

SUMMARY OF THE INVENTION

The present invention has been completed in order to solve suchconventional problems as described above, and an object thereof is toprovide a mechanism which can reduce a load necessary in development ofapplications concerning the specifications of a device, and the like.

Another object of the present invention is to provide a mechanism whichcan change, even if an erroneous attribute value is set to an imageprocessing device by an application, the set erroneous attribute valueto a default setting value and thus eliminate inconsistency between theset erroneous attribute value with another attribute value.

In any case, an image processing device which can solve the aboveproblems has the following characteristics.

That is, the image processing device is characterized by an imageprocessing device which has plural functions and executes at least anyone of the plural functions based on a request from an applicationprogram, comprising: a storage unit configured to store, from amongplural setting information capable of being selected to one of theplural functions, simultaneous use possible/impossible information whichis information concerning a combination of settings capable of beingused simultaneously or a combination of settings incapable of being usedsimultaneously; a selection unit configured to select any one of theplural setting information with respect to at least any one of theplural functions based on the request from the application program; adiscrimination unit configured to discriminate, by referring to thesimultaneous use possible/impossible information, whether or notcompetitive setting information which is the setting informationincapable of being used simultaneously with the setting informationselected by the selection unit exists; and a notification unitconfigured to notify the application program of information concerningthe competitive setting information, in a case where the discriminationunit discriminates that the competitive setting information exists.

Further, the image processing device is characterized by an imageprocessing device which has plural functions and executes at least anyone of the plural functions based on a request from an applicationprogram, comprising: a storage unit configured to store, from amongplural setting information capable of being selected to one of theplural functions, simultaneous use possible/impossible information whichis information concerning a combination of settings capable of beingused simultaneously or a combination of settings incapable of being usedsimultaneously; a selection unit configured to select any one of theplural setting information with respect to at least any one of theplural functions based on the request from the application program; anda reset unit configured to reset the setting information incapable ofbeing used simultaneously with the setting information selected by theselection unit to a predetermined attribute value, by referring to thesimultaneous use possible/impossible information.

Besides, an image processing method which can solve the above problemshas the following characteristics.

That is, the image processing method is characterized by a controlmethod for an image processing device which has plural functions andexecutes at least any one of the plural functions based on a requestfrom an application program, the control method comprising the steps of:selecting any one of plural setting information with respect to at leastany one of the plural functions based on the request from theapplication program; discriminating whether or not competitive settinginformation which is the setting information incapable of being usedsimultaneously with the setting information selected in the selectionstep exists, by referring to a storage unit which stores, from among theplural setting information capable of being selected to one of theplural functions, simultaneous use possible/impossible information whichis information concerning a combination of settings capable of beingused simultaneously or a combination of settings incapable of being usedsimultaneously; and notifying the application program of informationconcerning the competitive setting information, in a case where it isdiscriminated in the discriminating step that the competitive settinginformation exists.

Further, the image processing method is characterized by a controlmethod for an image processing device which has plural functions andexecutes at least any one of the plural functions based on a requestfrom an application program, the control method comprising the steps of:selecting any one of plural setting information with respect to at leastany one of the plural functions based on the request from theapplication program; and resetting the setting information incapable ofbeing used simultaneously with the setting information selected in theselection step to a predetermined attribute value, by referring to astorage unit which stores, from among the plural setting informationcapable of being selected to one of the plural functions, simultaneoususe possible/impossible information which is information concerning acombination of settings capable of being used simultaneously or acombination of settings incapable of being used simultaneously.

Further features of the present invention will become apparent from thefollowing description of exemplary embodiments with reference to theattached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1A and 1B are perspective diagrams illustrating outwardappearances of an image processing device according to the firstexemplary embodiment of the present invention.

FIG. 2 is a block diagram for describing functions of the imageprocessing device illustrated in FIGS. 1A and 1B.

FIG. 3 is a block diagram illustrating the control constitution of eachunit included in the image processing device illustrated in FIGS. 1A and1B.

FIG. 4 is a block diagram illustrating the hardware constitution of thecontrol device illustrated in FIG. 3.

FIG. 5 is a block diagram illustrating the software module configurationof a digital copying machine controller which is a concrete example ofthe image processing device illustrated in FIGS. 1A and 1B.

FIG. 6 is a block diagram illustrating the details of the sub modules ofan application platform according to the first exemplary embodiment ofthe present invention.

FIG. 7 is a diagram illustrating a display example of an operationscreen to be displayed on an operation unit.

FIG. 8 is a diagram illustrating a display example of the operationscreen to be displayed on the operation unit.

FIG. 9 is a diagram illustrating a display example of the operationscreen to be displayed on the operation unit.

FIG. 10 is a diagram for describing the process to be executed by a UAP(User Application) and an APF (Application PlatForm) sub moduleaccording to the first exemplary embodiment of the present invention.

FIG. 11 is a diagram for describing the process to be executed by theUAP and the APF sub module according to the second exemplary embodimentof the present invention.

FIG. 12 is a diagram for describing a memory map of a storage mediumwhich stores therein various data processing programs capable of beingread by the image processing device according to the present invention.

FIG. 13 is a block diagram illustrating the details of the sub modulesof an application platform according to the second exemplary embodimentof the present invention.

FIG. 14 is a diagram illustrating an example of a setting competitivetable.

DESCRIPTION OF THE EXEMPLARY EMBODIMENTS

Subsequently, the exemplary embodiments of the present invention will bedescribed with reference to the attached drawings.

<Description of System Constitution>

First Exemplary Embodiment

First, an image processing device to which the present invention isapplied will be explained.

FIGS. 1A and 1B are perspective diagrams illustrating outwardappearances a digital multifunction device which is an example of theimage processing device according to the first exemplary embodiment ofthe present invention. More specifically, FIG. 1A is the perspectivediagram viewed from the front right side of the image processing device,and FIG. 1B is the perspective diagram viewed from the rear side of theimage processing device.

In FIGS. 1A and 1B, an image processing device 100 includes a scannerunit 1 for reading an image on a paper original and converting it intodigital image data, and a printer unit 2 for outputting the convertedimage data to a paper as a printed material. In the following, the imageprocessing device 100 may be called the multifunction device 100 onoccasion.

Further, the image processing device 100 includes a control device 3 towhich a network is connected, and which contains software and hardwarefor executing various digital data processes and network communication.

FIG. 2 is a block diagram for describing plural functions of the imageprocessing device illustrated in FIGS. 1A and 1B.

In FIG. 2, a print function 2001 receives print data transmitted from ahost computer with a PDL (Page Description Language) such as aPostScript™, a LIPS™ or the like. Further, the print function 2001executes a predetermined rasterization process to the print data, andthen executes print output of the processed print data.

Further, the print function 2001 can execute a direct print function fordirectly receiving and printing application data such as PDF datawithout using a printer driver installed in the host computer or thelike.

A copy function 2002 can execute a copy process by using the scannerunit 1 and the printer unit 2.

A facsimile function 2003 can execute G3 and G4 facsimiletransmission/reception. Also, the facsimile function 2003 can executeInternet facsimile by using the Internet.

A management function 2004 executes a department management function andan individual authentication function. Further, the management function2004 includes a management data auto distribution (delivery) functionfor synchronizing various settings among pleural digital multifunctiondevices.

A transmission function 2005 provides a universal send function forsimultaneously transmitting (or sending) image data to pluraldestinations by using plural network protocols. Further, thetransmission function 2005 includes a function for encrypting and thentransmitting image data, and a function for transmitting image data withan electronic signature added.

An image storage function 2006 provides a function for storing scannedimage data and image data received from a network in a hard diskprovided in the image processing device 100. Further, the image storagefunction 2006 provides a function for displaying the stored image dataon an operation panel, and a function for executing an editing processto the stored image data.

A Web browser function 2007 provides a function for browsing a websitethrough a Web browser, a Web pull print function for designating andprinting an image file on the network.

A custom application 2008 provides a customized application executionenvironment by an open platform in which an application using thefunctions of the digital multifunction device can be executed by using aJava™ language.

FIG. 3 is a block diagram illustrating the control constitution of eachunit included in the image processing device illustrated in FIGS. 1A and1B.

In FIG. 3, the image processing device 100 provides various imageprocessing functions such as a copy function, a print function, an imageinput (scan) function, an image filing function, an imagetransmission/reception function, an image conversion function, and thelike.

A reader unit (image input device) 200 optically reads an original imageand then converts the read original image into image data. Besides, thereader unit 200 includes a scanner unit 210 having a function forreading the original image, and an original feeding unit 250 having afunction for feeding and transporting original papers. Here, it shouldbe noted that the reader unit 200 corresponds to the scanner unit 1illustrated in FIGS. 1A and 1B, and the original feeding unit 250 willalso be called a DF (document feeding) unit 250.

A printer unit (image output device) 300 transports a recording paper,prints the image data on the transported recording paper as visual data,and discharges the image-printed recording paper outward. Here, itshould be noted that the printer unit 300 corresponds to the printerunit 2 illustrated in FIGS. 1A and 1B.

The printer unit 300 includes a paper feeding unit 360 having pluralkinds of recording paper cassettes, and a marking unit 310 having afunction for transferring and fixing the image data to the recordingpaper. Further, the printer unit 300 includes a paper discharging unit370 having a function for sorting and/or stapling the image-printedrecording papers and then outputting such processed recording papersoutward.

A control device 110 is electrically connected to the reader unit 200and the printer unit 300, and further connected to a LAN (local areanetwork) 400. The control device 110 controls the reader unit 200 toread the original image data, and further controls the printer unit 300to output the image data to the recording paper, thereby providing thecopy function. Here, it should be noted that the control device 110corresponds to the control device 3 illustrated in FIGS. 1A and 1B.

Further, the control device 110 has an image transmission function forconverting image data read through the reader unit 200 into code dataand then transmitting the acquired code data to a not-illustrated hostcomputer or not-illustrated another image processing device through theLAN 400. Furthermore, the control device 110 has a print function forconverting print data received from the host computer through the LAN400 into image data and then outputting the acquired image data to theprinter unit 300.

An operation unit 150 is connected to the control device 110. Theoperation unit 150 includes a liquid crystal touch panel, therebyproviding a user I/F (interface) by which a user handles and operates animage input/output system.

FIG. 4 is a block diagram illustrating the hardware constitution of thecontrol device 110 illustrated in FIG. 3.

In FIG. 4, a main controller 111 mainly includes a CPU 112, a buscontroller 113 and various I/Fs.

The CPU 112 and the bus controller 113 control the whole operation ofthe control device 110, and the CPU 112 operates based on a program readfrom a ROM 114 through a ROM I/F 115.

The operation to cause the CPU 112 to interpret the PDL included in theprint data received from the host computer and extract the PDL printdata into raster image data has been described in the read program, andthis program is processed by the software. Further, the bus controller113 controls data transfer from/to each I/F, and further controlsadjustment of bus contention and DMA (Direct Memory Access) transfer.

A DRAM (Dynamic Random Access Memory) 116 is connected to the maincontroller 111 through a DRAM I/F 117. The DRAM 116 is used as theworking area by which the CPU 112 operates, and/or the area where theimage data is stored.

An Ethernet™ controller 150A is a network controller for connecting tothe LAN 400. That is, the Ethernet™ controller 150A enables the maincontroller 111 to access the network.

A codec 118 compresses the raster image data stored in the DRAM 116 in acompression method such as an MH (Modified Huffman) method, an MR(Modified READ (relative element address designate)) method, an MMR(Modified Modified READ) method, a JBIG (Joint Bi-level Image ExpertsGroup) method, or a JPEG (Joint Photographic Experts Group) method.Contrarily, the codec 118 extracts the compressed and stored code datainto the raster image data.

An SRAM (Static RAM) 119 is used as the temporary working area of thecodec 118. The codec 118 is connected to the main controller 111 throughan I/F 120, and the data transfer between the coded 118 and the DRAM 116is executed by DMA transfer under the control of the bus controller 113.

A graphic processor 135 executes various image processes such as animage rotation process, a magnification changing process, a color spaceconversion process, and the like. An SRAM 136 is used as the temporaryworking area of the graphic processor 135.

An external communication I/F controller 121, which is connected to themain controller 111 through an I/F 123, is connected to an externalnetwork through a connector 122.

An expansion connector 124 for connecting an expansion board and an I/O(input/output) control unit 126 are connected to a general-purposehigh-speed bus 125 to which, for example, a PCI (Peripheral ComponentInterconnect) bus is used.

A two-channel synchronous serial communication controller 127 fortransmitting/receiving control commands to/from the CPU of each of thereader unit 200 and the printer unit 300 is provided in the I/O controlunit 126. Further, the synchronous serial communication controller 127is connected to a scanner I/F 140 and a printer I/F 145 through an I/Obus 128.

A panel I/F 132 is connected to an LCD (liquid crystal display)controller 131 which is further connected to the I/O control unit 126.The panel I/F 132 includes the I/F for executing display on the liquidcrystal screen on the operation unit 150 (FIG. 3) and a key input I/F130 through which hard key inputting and touch panel key inputting areexecuted.

A connector 142 which is connected to the reader unit 200 includes asynchronous serial I/F 143 and a video I/F 144, and a connector 147which is connected to the printer unit 300 includes a synchronous serialI/F 148 and a video I/F 149.

The scanner I/F 140 is connected to the reader unit 200 through theconnector 142, and is further connected to the main controller 111 by ascanner bus 141. The scanner I/F 140 has a function for executing apredetermined process to the image data received from the reader unit200, and further has a function for outputting a control signalgenerated based on the video control signal transferred from the readerunit 200 to the scanner bus 141.

The data transfer from the scanner bus 141 to the DRAM 116 is executedunder the control of the bus controller 113.

The printer I/F 145 is connected to the printer unit 300 through theconnector 147, and is further connected to the main controller 111through a printer bus 146. The printer I/F 145 executes a predeterminedprocess to the image data output from the main controller 111. Besides,the printer I/F 145 has a function for outputting the image data to theprinter unit 300, and further has a function for outputting a controlsignal generated based on the video control signal transferred from theprinter unit 300 to the printer bus 146.

The transfer of the raster image data on the DRAM 116 to the printerunit 300 is executed under the control of the bus controller 113. Thatis, the raster image data is subjected to the DMA transfer to theprinter unit 300 through the printer bus 146 and the video I/F 149.

The operation unit 150 includes a liquid crystal display unit, a touchpanel input unit attached on the liquid crystal display unit, and pluralhard keys. The signal input through the touch panel input unit or thehard key is transferred to the CPU 112 through the panel I/F 132, andthe image data transferred from the panel I/F 132 is displayed on theliquid crystal display unit. More specifically, an operation screen,image data and the like concerning the operation of the image processingdevice 100 are displayed on the liquid display unit.

A real time clock module 133 updates and stores date and time to bemanaged in the image processing device 100, and the real time clockmodule 133 is backed up by a backup battery 134.

An E-IDE (Enhanced Integrated Drive Electronics) connector (or E-IDEI/F) 161 is used to connect an external storage device. In the presentexemplary embodiment, an HDD (hard disk drive) 160 is connected throughthe E-IDE I/F 161, whereby the image data is stored/read in/from an HD(hard disk) 162.

FIG. 5 is a block diagram illustrating the software module configurationof the controller of the image processing device 100 illustrated inFIGS. 1A and 1B.

In the present exemplary embodiment, the modules which are relative tothe application execution environment of the digital copying machineprovided by using the Java™ language will be mainly described.

Here, it should be noted that the Java™ language is the programminglanguage developed by Sun Microsystems in United States, and thesoftware developed by the Java™ language basically operates on anyplatform without depending on a specific OS or microprocessor.

In recent years, a product for making software development easy byincorporating a Java™ execution environment in the image processingdevice 100 has been on sale.

In FIG. 5, the software of the image processing device 100 has ahierarchical configuration.

An operating system 5100 is the lowest layer of the softwareconfiguration of the image processing device 100, whereby varioussoftware is executed on the operating system 5100.

An APF (Application Platform) 5003 operates on the operating system5100. The APF 5003 is the basis of the function of the image processingdevice 100, and the APF 5003 includes therein plural sub modules.

In the sub modules of the APF 5003, a scan module 5004 achieves the scanoperation of the multifunction device 100, a print module 5005 achievesthe print operation of the multifunction device 100, and a box module5006 achieves the operation for storing a scan image or a PDL image inthe HD 162 illustrated in FIG. 4.

Incidentally, each of the sub modules 5004 to 5006 further includestherein sub modules which will be described later.

A platform API (Application Platform Interface) module 5002, which is anAPI layer for the application program of the platform, provides a Java™language interface to an application layer 5001.

The application layer 5001 includes plural application program modules5201, 5202, 5203 and 5204 for achieving the functions of the imageprocessing device 100. These application program modules includebusiness oriented application programs developed by an end user or anapplication developer. The business oriented application program is thesoftware for executing the process which is specified for the businessof each user, whereby the business oriented application program issubjected to modification and/or addition according to a user's request.In the following, it should be noted that the application program willbe simply called application, and the application program moduleincluded in the application layer will be called UAP (User Application).

In the present exemplary embodiment, the UAP 5201 is a copy applicationfor achieving the copy function of the multifunction device 100, the UAP5202 is a transmission (send) application for achieving the transmissionfunction of the multifunction device 100, the UAP 5203 is a boxapplication for achieving the box function of the multifunction device100, and the UAP 5204 is an application for achieving another functionof the multifunction device 100.

Incidentally, it is possible to add and/or delete user applicationsother than the UAPs 5201 to 5204 in the application layer 5001.

Subsequently, the relation of the APF 5003 and the UAPs of theapplication layer 5001 will be described. That is, the UAP achieves acertain function by using and/or combining the functions provided by thesub modules (the scan module 5004, the print module 5005, and the boxmodule 5006) included in the APF 5003. For example, the UAP 5201corresponding to the copy function can be achieved by combining the scanmodule 5004 and the print module 5005. Therefore, in case of executingthe copy function, the scan module 5004 and the print module 5005execute the respective processes.

Incidentally, the UAPs 5201 to 5204, which are the applications usingthe image processing device 100, are the applications developed by themanufacturer of the image processing device 100, a third party otherthan the manufacturer, or the like. Each of these applications has theapplication configuration not depending on the constitution of the imageprocessing device 100. Moreover, each of these applications has theconfiguration being unconscious of consistency of the settinginformation for executing the functions of the image processing device100.

For this reason, if it has been set that the requests from the UAPs 5201to 5204 cannot be executed by the image processing device 100, such animproper setting is discriminated on the side of the APF 5003. Then, theresult of such discrimination is reflected on the operation screen to bedisplayed on the operation unit 150 by the UAP, whereby it is possibleto prevent that a user executes the operation causing the competitivesettings.

FIG. 6 is a block diagram illustrating the details of the sub modules ofthe application platform in the image processing device according to thepresent exemplary embodiment. In FIG. 6, the same modules as thoseillustrated in FIG. 5 have the same reference numerals as thoseillustrated in FIG. 5, respectively, and the explanation thereof will beomitted.

An APF (Application Platform) sub module 6001, which is the sub moduleof the APF 5003, corresponds to any one of the scan module 5004, theprint module 5005, and the box module 5006 illustrated in FIG. 5. TheAPF sub module 6001 further includes plural sub modules 6004, 6005, 6007and 6010.

The scan module 5004 includes a function execution section 6010 forexecuting a process such as a stapling process, a reduction layoutprocess and the like according to the setting information receivedtogether with a scan function execution request, and an attributeholding section 6007 representing an attribute concerning the function.

Further, the scan module 5004 includes a setting competitive table 6005on which the limitations of the function combinations have beendescribed, and a competitive discrimination section 6004 fordiscriminating consistency of the function combinations by using thevalue of the current attribute data and the competitive table.

Moreover, each of the print module 5005 and the box module 5006 includessub modules as well as the scan module 5004.

The competitive discrimination section 6004 discriminates the setting ina competitive state, by referring to the setting competitive table 6005and the attribute holding section 6007 indicating the state of the imageprocessing device 100. Here, it should be noted that, in the setting inthe competitive state, since the contents of the plural settingsdesignated from the UAP are inconsistent, it is impossible tosimultaneously set the functions concerning the relevant settings. Morespecifically, if the contents of the two settings are in the competitivestate, these contents cannot be set simultaneously. The competitivediscrimination section 6004 is equivalent to the list of the functionseach of which competes with the setting designated by the UAP. Then, acompetitive setting list 6008 is notified to the application layer 5001through the platform API module 5002.

Moreover, the attribute holding section 6007 holds the states(information such as installed options) of the image processing device.

Incidentally, it should be noted that plural kinds of competitive rulescorresponding to the settings of the competitive state have been set onthe setting competitive table 6005. For example, since a “two page copy”setting for dividing one-page original into plural outputs cannot bedesignated (or used) simultaneously with a “reduction layout” setting,such a fact has been set on the setting competitive table 6005 as thecompetitive rule. That is, the plural kinds of competitive rules likethis have been registered on the setting competitive table 6005.

Further, each of the scan module 5004, the print module 5005 and the boxmodule 5006 includes the setting competitive table 6005, and registers,from among the settings concerning the operations of each module, thecompetitive settings to the corresponding setting competitive table6005. For example, the scan module 5004 registers the competitive rulesconcerning the scan operation (scan function) to the correspondingsetting competitive table 6005. Likewise, the print module 5005registers the competitive rules concerning the print function to thecorresponding setting competitive table 6005, and the box module 5006registers the competitive rules concerning the box function to thecorresponding setting competitive table 6005. Incidentally, the settingcompetitive table 6005 has been stored in the HD 162 or the ROM 114illustrated in FIG. 4, and is held on the table area secured on the DRAM116 when the system activates.

The function execution section 6010 executes the operation (function) tobe achieved by the APF sub module 6001. For example, the scan module5004 achieves the operation concerning the original image reading by theimage processing device 100.

FIG. 14 is a diagram illustrating an example of the setting competitivetable.

That is, FIG. 14 illustrates an example of the setting competitive table6005 provided in the print module 5005.

In the setting competitive table 6005, items 1401 and 1402 indicate thesetting information capable of being set for the print module 5005.Further, the symbol “o” implies that both the settings indicated by theitems 1401 and 1402 can be set simultaneously, and the symbol “x”implies that both the settings cannot be set simultaneously. Forexample, a “book binding” setting and a “cover/interleaving” setting canbe set simultaneously, but the “cover/interleaving” setting and the “twopage copy” setting cannot be set simultaneously.

Although FIG. 14 illustrates the example of the setting competitivetable 6005 provided in the print module 5005, each of the scan module5004 and the box module 5006 includes the setting competitive tableconcerning the setting information capable of being set. Morespecifically, the items 1401 and 1402 of the setting competitive table6005 provided in the scan module 5004 indicate the setting informationconcerning the scanning, and the items 1401 and 1402 of the settingcompetitive table 6005 provided in the box module 5006 indicate thesetting information concerning the box.

FIG. 7 is a diagram illustrating an example of an operation screen to bedisplayed on the liquid crystal display provided on the operation unit150 illustrated in FIG. 3. Here, it should be noted that the operationscreen illustrated in FIG. 7 is an example of the operation screen ofthe UAP (copy) 5201. In the following, an operation example of theapplication in the present exemplary embodiment will be described withreference to FIG. 7.

Here, it should be noted that the operation screen is displayed on theoperation unit 150 under the control of the UAP (copy) 5201, and suchcontrol will be later described in detail with reference to FIGS. 10 and11.

As illustrated in FIG. 7, plural settings can be selected as indicatedby setting buttons B1 to B12.

For example, the setting button B1 has been set to correspond to the“two page copy” setting for dividing, when a book is used as a copyoriginal, right and left pages of the copy original into two images andthen printing the divided images respectively.

The setting button B2 is set to correspond to the “cover/interleaving”setting for interleaving a partition paper into the printed materials. Auser who uses the UAP (copy) 5201 notifies the application that adesired processing function has been selected by depressing thecorresponding one of the setting buttons B1 to B12.

Here, it should be noted that there are occasions when a certainspecific setting and another setting cannot be selected simultaneously.

FIG. 8 is a diagram illustrating an example of a first functionselection disablement screen to be displayed on the liquid crystaldisplay provided on the operation unit 150. Here, it should be notedthat the first function selection disablement screen illustrated in FIG.8 is an example in a case where the “two page copy” setting and the“left open” mode are selected. For this reason, from among the settingbuttons B1 to B12 illustrated in FIG. 7, the setting buttons B2, B3, B5,B6, B9 and B11 respectively corresponding to the settings which cannotbe set simultaneously with the “two page copy” function and the “leftopen” mode are set to be in a gray display state for indicating anon-selectable state.

That is, FIG. 8 illustrates that the image processing device 100 cannotselect the “cover/interleaving” setting, the “reduction layout” setting,the “book binding” setting, the “OHP interleaving” setting, the“original size mixed loading” setting and the “read image confirmation”setting simultaneously with the “two page copy” setting.

Incidentally, the buttons corresponding to the non-selectable settingsare in the gray display state, so that a user cannot designate thesesettings. Therefore, it is controlled that, even if the gray-displayedbutton is depressed by the user, the control device 110 does not acceptan instruction from the depressed button.

On the other hand, the buttons which are not in the gray display statecorrespond to the setting information which can be selected togetherwith the “two page copy” setting.

Incidentally, if the user wishes to select another setting, he/she hasto depress a not-illustrated reset button to release the “two page copy”setting by once resetting the display state. By doing so, all of thebuttons B1 to B12 are selectable.

FIG. 9 is a diagram illustrating another example of the operation screento be displayed on the liquid crystal display provided on the operationunit 150.

That is, FIG. 9 illustrates the screen which is displayed when the userselects the “reduction layout” setting by depressing the button B3 onthe liquid crystal display provided on the operation unit 150.

In this case, the “two page copy” setting, the “cover/interleaving”setting, the “book binding” setting, the “OHP interleaving” setting, the“original size mixed loading” setting and the “read image confirmation”setting cannot be simultaneously set in the image processing device 100.

For this reason, from among the buttons B1 to B12 illustrated in FIG. 7,the buttons B1, B2, B5, B6, B9 and B11 which are inconsistent with the“reduction layout” setting are set to be in the gray display state asbeing non-selectable.

As just described, in the image processing device 100 according to thepresent exemplary embodiment, the buttons corresponding to the settingswhich cannot be used together with the selected setting are set to be inthe non-selectable state (gray display state), so as to notify the userthat the gray-displayed buttons cannot be designated.

When the application having the operation screens illustrated in FIGS. 8and 9 is created, it is necessary to incorporate therein a mechanism fordiscriminating combinations of the competitive functions.

Conventionally, the mechanism of this kind is provided on the side ofthe UAP.

Therefore, a person who develops the application (called an applicationdeveloper hereinafter) has to sufficiently know the function of eachdevice (printer, scanner, memory, etc.) and the items capable of beingset in the image processing device 100. However, the applicationdeveloper is often a third party other than the manufacturer of theimage processing device 100 itself, and the relevant third party doesnot sufficiently know all the functions of the image processing device100 ordinarily. For this reason, it is highly difficult for theapplication developer to provide a necessary process for displaying theoperation screens as illustrated in FIGS. 8 and 9 in the applicationdeveloped by him/her.

Further, it is difficult to operate one application in the pluraldevices. Furthermore, since the application developer is generallydifferent from a device developer, there is a problem that anapplication cannot operate if a version upgrade is executed for thedevice.

Consequently, in the present exemplary embodiment, the mechanism fordiscriminating the competition of settings is not provided on the sideof the UAP but is provided on the side of the APF 5003. Thus, since theUAP only has to execute a process to reflect the discriminated result ofthe platform side on an arbitrary GUI screen, it is possible to reducethe number of steps for developing the application on the side of thethird party which creates the UAP.

Further, it is possible to apply the mechanism for discriminating thecompetition of settings to plural kinds of image processing deviceswithout changing the application.

Subsequently, the processes to be executed by the UAP and the APF submodule 6001 will be described with reference to FIG. 10.

That is, FIG. 10 is a diagram for describing a first data exchange to beexecuted between the UAP (any one of the UAPs 5201 to 5204) and the APFsub module 6001 in the image processing device according to the presentexemplary embodiment. More specifically, FIG. 10 illustrates the processflow in case of acquiring the competitive setting list 6008 in the imageprocessing device 100.

Incidentally, it should be noted that processes S1001, S1004 and S1005are executed on the side of the UAP, and processes S1002 and S1003 areexecuted on the side of the APF sub module 6001, and each step isachieved if the CPU 112 illustrated in FIG. 4 executes the programmodules of the UAP (any one of the UAPs 5201 to 5204) and the APF 5003.

In FIG. 10, first, the UAP determines the setting information and thesetting value in response to the operation executed on the operationunit 150 by the user (S1001), and transfers an ID indicating the settingand the setting value to the platform API module 5002. The APF 5003which was requested by the platform API module 5002 refers to thesetting competitive table 6005 (S1002).

Then, based on the setting ID and the setting value received from theUAP through the platform API module 5002, the competitive discriminationsection 6004 which is the sub module of the APF sub module 6001 createsthe competitive setting list 6008 which is the information concerningthe competitive settings (that is, cannot be used simultaneously), basedon the rule defined on the setting competitive table 6005 and theinformation, held in the attribute holding section 6007, indicating thecurrent states of the image processing device 100 (S1003). Then, asillustrated in FIG. 6, the competitive setting list 6008 which is thearray of the competitive setting function IDs is transferred to the UAPas the return value from the API.

If the competitive setting list 6008 is received, the UAP correlates thecompetitive setting IDs with the respective GUI parts (such as thebuttons illustrated in FIGS. 7 and 8) in the screen of the application(S1004), and disables from selecting the GUI parts corresponding to thecompetitive settings (S1005). Here, as described in FIGS. 8 and 9, todisable from selecting the GUI parts includes to set the buttons to bein the gray display state, and not to accept the depressions of thebuttons.

Consequently, for example, the operation screen is displayed on theliquid crystal display on the operation unit 150, as illustrated in FIG.8.

Incidentally, the button which has a name indicating the setting contentas a label is generally used as the GUI parts.

Further, it should be noted that there are occasions when the pluralAPFs execute the processes in the steps S1002 and S1003. For example, ifthe UAP (copy) 5201 designates the setting and the setting value, theAPF side creates the list of the settings that the scan module 5004 andthe print module 5005 compete. Then, the list which are acquired bymerging the competitive setting lists respectively created by the scanmodule 5004 and the print module 5005 is notified to the UAP (copy)5201.

Based on the setting and the setting value designated by the UAP, theplatform API module 5002 determines which of the APF sub modules of theAPF 5003 should create the competitive setting list. Further, theplatform API module 5002 creates the competitive setting list 6008 bymerging the plural competitive function lists.

As just described, according to the present exemplary embodiment, theimage processing device 100 which can control the image processingfunctions in regard to the request from the UAP is equipped with thesetting competitive table 6005. Further, the image processing device 100is equipped with the competitive discrimination section 6004 whichverifies whether or not the request from the UAP conflicts with thecompetitive rule. Furthermore, the image processing device 100 isequipped with the platform API module 5002 which notifies theapplication of the competitive setting information discriminated by thecompetitive discrimination section 6004.

Second Exemplary Embodiment

In the first exemplary embodiment, the setting competing with thesetting previously designated on the operation screen in FIG. 7 is setto be non-selectable as illustrated in FIG. 8

On the other hand, in the second exemplary embodiment, all the settingsincluding the competitive settings are first set to be selectable. Inthe circumstances, if the one setting is selected and then the settingcompeting with the one setting is selected, the precedently selectedsetting (one setting) is canceled and an initial state is set so as toeliminate competition of the settings.

For example, if the “two page copy” setting is selected as “ON” and thenthe competitive “reduction layout” setting is selected, it is controlledto return the precedently selected “two page copy” setting (function) to“OFF”.

In the second exemplary embodiment, the hardware constitution and thesoftware configuration of the image processing device 100 are the sameas those illustrated in FIGS. 1 to 5.

FIG. 13 is a block diagram illustrating the details of the APF submodule 6001 according to the second exemplary embodiment. In FIG. 13,the same modules as those illustrated in FIG. 6 have the same referencenumerals as those illustrated in FIG. 6, respectively, and theexplanation thereof will be omitted.

In FIG. 13, the APF sub module 6001 is equipped with an update section1302 which is the sub module different from that illustrated in FIG. 6.More specifically, the update section 1302 updates the attribute of thesetting selected from the UAP (5201 to 5204) to a designated value(update item) 1304. Further, when updating the attribute, the updatesection 1302 refers to the setting competitive table 6005 and theattribute holding section 6007. Then, if it is discriminated based onthe competitive rule that there is inconsistency, the update section1302 returns the setting of the precedently designated function to itsinitial value.

FIG. 11 is a diagram for describing a second data exchange to beexecuted between the UAP (any one of the UAPs 5201 to 5204) and the APFsub module 6001 in the image processing device according to the presentexemplary embodiment. More specifically, FIG. 11 illustrates the processflow in case of resetting the setting value of the competitive settingto its initial state (default) so as to use an arbitrary function of theimage processing device 100.

Incidentally, it should be noted that processes S1101, S1105 and S1107are executed on the side of the application, and processes S1102, S1103,S1104 and S1106 are executed on the side of the APF sub module 6001, andeach step is achieved if the CPU 112 illustrated in FIG. 4 executes theprograms corresponding to the UAP (any one of the UAPs 5201 to 5204)illustrated in FIG. 5 and the APF sub module 6001.

In FIG. 11, first, the UAP determines the setting and the setting valuein response to the operation executed on the operation unit 150 by theuser (S1101).

Then, the APF which received the selection of the setting and thesetting value through the platform API module 5002 updates the settingvalue of the selected setting (S1102).

The competitive discrimination section 6004 which is the sub module ofthe APF sub module 6001 refers to the setting competitive table 6005 andthe attribute holding section 6007 (S1103).

Then, the competitive discrimination section 6004 creates the list ofthe settings competing with the settings set in the step S1101, andresets the setting values of the competitive settings to their initialvalues respectively (S1104). The acquired initial values which may bethe non-selectable state of the relevant function and the like aretransferred to the UAP.

Thus, the UAP which confirms that the value was updated rereads thesetting value so as to reflect the setting value on the operation screen(S1105) If the UAP responds the latest setting value to the side of theAPF sub module 6001, the APF sub module 6001 acquires the relevantsetting value as the latest attribute value (S1106). Then, the UAPupdates the operation screen of the operation unit 150 to the statecorresponding to each setting value (S1107).

Consequently, even if an erroneous setting value is indicated from theUAP to the APF sub module 6001, it is possible to eliminate that theerroneous setting value of the UAP is reflected on the APF sub module6001.

For example, on the operation screen illustrated in FIG. 7, if thesetting button B1 corresponding to the “two page copy” setting isdepressed and thereafter the setting button B2 corresponding to the“cover/interleaving” setting is depressed by the user, the “two pagecopy” setting which competes with the “cover/interleaving” setting isreset, whereby it is possible to select the “cover/interleaving” settingwithout selecting the competitive “two page copy” settingsimultaneously.

Incidentally, the use of the function of platform in calling the API bythe Java™ language is described in the present exemplary embodiment, butthe use of the function of platform is not limited to this.

For example, if the function is provided by a Web service techniqueusing a SOAP (Simple Object Access Protocol), the function of the imageprocessing device 100 can be used through a network even from anapplication which operates at a physically distant location.

Third Exemplary Embodiment

In the above exemplary embodiments, the user application has beeninstalled in the storage device of the image processing device 100.However, the user application may be acquired from a server or the likethrough a network.

Fourth Exemplary Embodiment

In the above exemplary embodiments, the case where the competitivesettings concerning the image processing functions of the single imageprocessing device 100 itself are eliminated is described.

However, in a case where an image processing function uses the pluralimage processing devices 100, it is possible to cause the device whichindicated the setting to request the same process to another imageprocessing device 100, edit or process the competitive information, andreflect the edited or processed information on the display state of theuser interface.

Fifth Exemplary Embodiment

Hereinafter, the configuration of a data processing program which can beread by the information processing device according to the presentinvention will be described with reference to a memory map illustratedin FIG. 12.

FIG. 12 is a view for describing a memory map of a storage medium forstoring various data processing programs which can be read by theinformation processing device according to the present invention.

Although not illustrated specifically, there is also a case thatinformation of managing program groups stored in the storage medium suchas, for example, version information and information of a creator arestored and information which depends on an OS (Operating System) at aprogram reading side such as, for example, information of icons fordiscriminatingly displaying programs are stored.

Furthermore, data which belongs to various programs is also managed bythe above-mentioned directory. There is also a case that a program forinstalling various programs into a computer and a program for executingextraction when a program to be installed is compressed are stored.

The functions illustrated in FIGS. 10 and 11 in the present exemplaryembodiment may be executed by a host computer by using a programinstalled externally. In this case, even if information groups whichcontain programs are supplied to an output device by the storage mediumsuch as a CD-ROM, a flash memory or an FD, or from an external storagemedium through a network, the present invention is applicable.

As described above, it is needless to say that a storage medium storingprogram codes of software for realizing the functions of theabove-mentioned exemplary embodiments is supplied to a system or adevice, and the object of the present invention can be achieved also ina case where a computer (or CPU or MPU) in the system or the devicereads and executes the program codes stored in the storage medium.

In this case, the program codes themselves which were read from thestorage medium realize the new functions of the present invention, andthe storage medium which stores the relevant program codes constitutesthe present invention.

Therefore, any form of a program, such as an object code, a programexecuted by an interpreter or script data to be supplied to an OS isavailable without inquiring a program form if having the function of aprogram.

As the storage medium for supplying the programs, for example, aflexible disk, a hard disk, an optical disk, a magnetooptical disk, anMO, a CD-ROM, a CD-R, a CD-RW, a magnetic tape, a nonvolatile memorycard, a ROM, a DVD, or the like can be used.

In this case, the program codes themselves which were read from thestorage medium realize the functions of the above-mentioned exemplaryembodiments, and the storage medium which stores the relevant programcodes constitutes the present invention.

As another method of supplying the programs, there is a method ofconnecting to a website on the Internet by using the browser of a clientcomputer. The programs can be also supplied by downloading the computerprogram itself of the present invention or a file which is compressedand includes an automatic installing function into a recording mediumsuch as a hard disk from the relevant website. Further, the supplying ofthe programs can be also realized by dividing program codes constitutingthe program of the present invention into plural files and downloadingthe respective files from different websites. That is, a WWW server oran ftp (file transfer protocol) server, which causes users to downloadprogram files for realizing the functional processes of the presentinvention by a computer, is also included in appended claims of thepresent invention.

The programs of the present invention are encoded and stored into thestorage medium such as CD-ROMs which are distributed to users, and keyinformation for solving or decoding the encoded program is made to bedownloaded for the user who clears a predetermined condition from thewebsite through the Internet. In addition, the user executes the encodedprogram by using the key information to install the program into acomputer. Thus, the supplying of the program can be also realized.

It is needless to say that the present invention also includes not onlya case where the functions of the above-mentioned exemplary embodimentsare realized by executing the program codes read by a computer, but alsoa case where, for example, an OS (Operating System) functioning on thecomputer executes all the process or a part thereof based on theinstruction of the program codes, thereby realizing the functions of theabove-mentioned exemplary embodiments by that process.

Further, it is needless to say that the present invention also includesa case where the program codes read from a storage medium are written ina memory provided in a function expansion board inserted in the computeror a function expansion unit connected to the computer, and then a CPUprovided in the function expansion board or the function expansion unitexecutes all the process or a part thereof based on the instruction ofthe relevant program codes, thereby realizing the functions of theabove-mentioned exemplary embodiments by that process.

The present invention is not limited to the above-mentioned exemplaryembodiments, but can be modified in various manners (including anorganic combination of the respective exemplary embodiments) based onthe spirit or the purpose of the present invention, and the variousmodifications are not excluded from the scope of the present invention.

Although various samples and exemplary embodiments of the presentinvention have been indicated and described, the spirit and scope of thepresent invention are not limited to a specific description in thepresent specifications for a person skilled in the art.

While the present invention has been described with reference toexemplary embodiments, it is to be understood that the invention is notlimited to the disclosed exemplary embodiments. The scope of thefollowing claims is to be accorded the broadest interpretation so as toencompass all such modifications and equivalent structures andfunctions.

This application claims the benefit of Japanese Patent Application No.2006-102925 filed on Apr. 4, 2006, and No. 2007-061657 filed on Mar. 12,2007 which are hereby incorporated by reference herein in theirentirety.

What is claimed is:
 1. An image processing device which has pluralincludes one or more functions controlled by one or more functionprograms, the image processing devicecomprising: a processor configuredto execute a first that controls execution of an application platformprogram corresponding to providing at least one of the plural functionsof the image processing device a function program of the one or morefunction programs and that controls execution of a particularapplication program using that accesses the function provided by thefirst program, wherein the application platform program and theparticular application program communicate with each other via anapplication-program-interface (“API”) module, wherein the firstapplication platform program, the API module, and the particularapplication program have been installed on stored in the imageprocessing device, and wherein the first application platform programcan provide provides the function program in response to accordance witha request from each of a plurality of application programs; and astorage unit configured to store that stores compatibility information,which is information concerning a combination of settings setting itemscapable of being used or a combination of settings setting itemsincapable of being used, wherein the first program manages processorcontrols execution of the compatibility information, the particularapplication program selects any to select at least one setting of pluralsettings with respect to at least any one of the plural functionscorresponding to function program provided by the first applicationplatform program, wherein the firstprocessor controls execution of theapplication platform program discriminates,to: receive from theparticular application program an indication of the at least one settingselected by referring to the particular application program, cause, inaccordance with receipt of the indication of the at least one settingselected by the particular application program, identification, based onthe compatibility information, of whether or not competitive settinginformation exists, the competitive setting information defining atleast that a particular setting item corresponding to one of the pluralsettings selected by the particular application program at least onesetting is incapable of being used with another setting itemcorresponding to another selected setting, and notifies notify theparticular application program of information concerning the competitivesetting information, in a case where the first program discriminatesthat the competitive setting information exists is identified to exist,and wherein the applicationprocessor controls execution of a programdisplays the notified informationto display an operation screen on anoperation display unit based on the notified information.
 2. An imageprocessing device according to claim 1, wherein the operation displayunit displays the plural settings, and accepts a selection of thesetting information from a user, and wherein the particular applicationprogram changes operation display unit changes a display content of theoperation display unit based on the notified information concerning thecompetitive setting information notified by the first program.
 3. Animage processing device according to claim 2, wherein the operationdisplay unit discriminably displays, to the user, that a selection of atleast one of the plural settings cannot be accepted, based on theinformation concerning the competitive setting information notified bythe notification unit notified information.
 4. An image processingdevice according to claim 1, wherein the one or more functions is pluralfunctions, the storage unit stores plural of the compatibilityinformation respectively corresponding to the plural functions, and thefirst processor controls execution of the application platform programdiscriminates to cause identification of whether or not the competitivesetting information exists, by referring to based on the compatibilityinformation corresponding to a specified function.
 5. An imageprocessing device which has plural includes one or more functionprograms controlling one or more functions, the image processing devicecomprising: a processor configured to execute a first that controlsexecution of an application platform program corresponding to providingat least one a function program of plural functions of the imageprocessing device the one or more function programs and that controlsexecution of a particular application program using that accesses thefunction provided by the first program, wherein the first applicationplatform program and the particular application program communicate witheach other via an application-program-interface (“API”) module, whereinthe application platform program, the API module, and the particularapplication program have been installed on stored in the imageprocessing device, and wherein the first application platform programcan provide provides the function program in response to accordance witha request from each of a plurality of application programs; and astorage unit configured to store that stores compatibility information,which is information concerning a combination of settings setting itemscapable of being used or a combination of settings setting itemsincapable of being used, wherein the first program manages processorcontrols execution of the compatibility information, the particularapplication program selects any to select at least one setting of pluralsettings with respect to at least any one of the plural functionscorresponding to function program provided by the first applicationplatform program, and the first program resetswherein the processorcontrols execution of the application platform program to cause a resetof a particular setting whose corresponding setting item is incapable ofbeing used with a setting item corresponding to a setting selected bythe particular application program to a predetermined attribute value,by referring tobased on the compatibility information.
 6. An imageprocessing device according to claim 5, wherein the first processorcontrols execution of the application platform program notifies tonotify the particular application program of the predetermined attributevalue.
 7. An image processing device according to claim 6, furthercomprising a display unit configured to display that displays the pluralsettings, wherein the application program updates the display on thedisplay unit updates a display concerning the particular setting whosecorresponding setting item is incapable of being used with the settingitem corresponding to the setting selected by the particular applicationprogram, based on the notified predetermined attribute value notified bythe notification unit.
 8. An image processing device according to claim5, wherein the first processor controls execution of the applicationplatform program sets to cause setting of the particular setting whosecorresponding setting item is incapable of being used with the settingitem corresponding to the setting selected by the particular applicationprogram, to be in a non-selectable state.
 9. A control methodimplemented by an image processing device which has plural includes oneor more functions controlled by one or more function programs andcomprises a processor configured to execute and a first storage unit,the method comprising: controlling execution, via the processor, of anapplication platform program corresponding to providing at least one ofplural functions of the image processing device and a function programof the one or more function programs; controlling execution, via theprocessor, of a particular application program using that accesses thefunction provided by the first program; controlling execution, via theprocessor, of an application-program-interface (“API”) module totransmit communication between the application platform program and theparticular application program, wherein the first application platformprogram, the API module, and the particular application program havebeen installed on stored in the image processing device, and wherein thefirst application platform program can provide provides the functionprogram in response to accordance with a request from each of aplurality of application programs, the control method comprising thesteps of:; selecting, by via the processor controlling execution of theparticular application program, any at least one setting of pluralsettings with respect to at least any one the function program providedby the application platform program; receiving, via the processorcontrolling execution of the application platform program, anindication, from the particular application program, of the pluralfunctions corresponding to the first program; discriminating, by thefirst program, at least one setting selected by the particularapplication program, causing, via the processor controlling execution ofthe application platform program and in accordance with receipt of theindication of the at least one setting selected by the particularapplication program, identification, based on compatibility informationstored by the storage unit, of whether or not competitive settinginformation n exists, the competitive setting information defining atleast that a particular setting item corresponding to one of the pluralsettings selected by the particular application program at least onesetting is incapable of being used with anothersetting itemcorresponding to another selected setting by referring to a storage unitwhich stores, the compatibility information, which is informationconcerning a combination of settings setting items capable of being usedor a combination of settings setting items incapable of being used; andnotifying, by the first via the processor controlling execution of theapplication platform program, the particular application program ofinformation concerning the competitive setting information, in a casewhere it is discriminated in the discriminating step that thecompetitive setting information exists is identified to exist.
 10. Acontrol method implemented by an image processing device which hasplural includes one or more function programs controlling one or morefunctions and comprises a processor configured to execute and a firststorage unit, the method comprising: controlling execution, via theprocessor, of an application platform program corresponding to providingat least one of plural functions of the image processing device and afunction program of the one or more function programs; controllingexecution, via the processor, of a particular application program usingthat accesses the function provided by the first program; controllingexecution, via the processor, of an application-program-interface(“API”) module to transmit communication between the applicationplatform program and the particular application program, wherein thefirst application platform program, the API module, and the particularapplication program have been installed on stored in the imageprocessing device, and wherein the first application platform programcan provide provides the function program in response to accordance witha request from each of the plural a plurality of application programs,the control method comprising the steps of:; selecting, by via theprocessor controlling execution of the particular application program,any at least one setting of plural settings with respect to at least anyone of the plural functions corresponding to function program providedby the first application platform program; and causing resetting, by thefirstvia the processor controlling execution of the application platformprogram, of a particular setting whose corresponding setting item isincapable of being used with a setting item corresponding to the settingselected in the selecting step by the particular application program toa predetermined attribute value, by referring to a storage unit whichstores based on compatibility information stored by the storage unit,the compatibility information concerning a combination of settingssetting items capable of being used or a combination of settings settingitems incapable of being used.
 11. An image processing devicecomprising: a storage unit that stores conflict information, which isinformation concerning a conflict of setting items corresponding tosettings of one or more functions of the image processing device; and aprocessor that controls execution of an application platform program andan application program at least to communicate with each other via anapplication-program-interface (“API”) module, wherein the applicationplatform program, the application program, and the API module are storedin the image processing device, wherein at least one setting of the oneor more functions is able to be designated in the application program,wherein the application program calls the API module to communicate withthe application platform program, wherein the processor controlsexecution of the application program to cause the application program tobe designated with at least one setting with respect to the one or morefunctions, and wherein the processor controls execution of theapplication platform program to cause the application platform programto cause a reset of a particular setting whose corresponding settingitem has a conflict, based on the conflict information, with anothersetting item corresponding to a setting designated in the applicationprogram, the particular setting reset to a predetermined setting value.12. An image processing device according to claim 11, wherein theprocessor controls execution of the application platform program tocause the application platform program to notify the application programof the predetermined setting value.
 13. An image processing deviceaccording to claim 12, further comprising a display unit that displaysplural settings, wherein the display unit updates a display of thedisplay unit concerning the particular setting that has the conflictwith the setting designated in the application program, based on thenotified predetermined setting value.
 14. An image processing deviceaccording to claim 11, wherein the processor controls execution of theapplication platform program to cause setting of the particular settingto be in a non-selectable state.
 15. A control method implemented by animage processing device which comprises a storage unit and a processorthat controls execution of an application platform program and anapplication program, the method comprising: controlling execution, viathe processor, of the application program to cause the applicationprogram to call an application-program-interface (“API”) module tocommunicate with the application platform program, wherein theapplication platform program, the application program, and the APImodule are stored in the image processing device; causing theapplication program to input, via the processor controlling execution ofthe application program, at least one setting of one or more functionsof the image processing device: causing the application platform programto receive, via the processor controlling execution of the applicationplatform program, an indication, from the application program, of the atleast one setting of the one or more functions of the image processingdevice and input in the application program; causing, via the processorcontrolling execution of the application platform program and inaccordance with receipt of the indication of the at least one settingfrom the application program, the application program to identify, basedon conflict information stored by the storage unit, whether a conflictedsetting item exists, the conflicted setting item corresponding to atleast one of the input at least one setting, and the conflicted settingitem conflicting with another setting item corresponding to a selectedsetting of the one or more functions, the conflict informationidentifying conflicts between setting items corresponding to settings ofthe one or more functions; and causing the application platform programto provide a notification, via the processor controlling execution ofthe application platform program, to the application program ofinformation identifying the conflicted setting item which is identifiedto exist.
 16. A control method according to claim 15, wherein the imageprocessing device further comprises a display, and wherein the methodfurther comprises the display displaying a screen affected by theidentification that the conflicted setting item exists in accordancewith the notification provided by the application platform program, viathe processor controlling execution of the application platform program,to the application program of the information identifying the conflictedsetting item, which is identified to exist.
 17. A control methodaccording to claim 16, further comprising the display displaying anoperation screen not including an input item allowing input of aconflicted setting item which conflicts with at least one setting itemof the one or more functions.
 18. A control method according to claim15, wherein the one or more functions include at least a scannerfunction, and the identification of whether or not the conflictedsetting item exists is at least in part in regard to a processassociated with at least the scanner function.
 19. A control methodaccording to claim 15, wherein the one or more functions include atleast a printing function, and the identification of whether theconflicted setting item exists is at least in part in regard to aprocess associated with at least the printing function.
 20. A controlmethod according to claim 15, wherein the conflicted setting item isrelated to a setting item corresponding to a setting regarding at leastone of an inserting of a sheet, a book binding, or a printing in whichat least two pages are laid out on a surface of one sheet.
 21. A controlmethod implemented by an image processing device which includes one ormore functions and comprises a processor and a storage unit, the methodcomprising: controlling execution of an application program, via theprocessor, to cause the application program to call anapplication-program-interface (“API”) module to communicate with anapplication platform program, wherein the application platform program,the application program, and the API module are stored in the imageprocessing device; causing the application program to accept, via theprocessor controlling execution of the application program, at least oneinput of a setting with respect to at least one function of the one ormore functions of the image processing device; and causing theapplication platform program to reset, via the processor controllingexecution of the application platform program, a particular settingwhose corresponding setting item has a conflict, based on conflictinformation stored by the storage unit, with a setting itemcorresponding to the setting input to the application program, theparticular setting reset to a predetermined setting value, and theconflict information concerning a conflict of setting itemscorresponding to settings regarding the at least one function of the oneor more functions of the image processing device.
 22. An apparatus thatstores an application platform, a first application, and a secondapplication, the apparatus comprising: at least one processor; and astorage unit that stores information indicating a conflict of settings,wherein the application platform is executed by the at least oneprocessor and is configured to: (i) receive information indicating asetting via a platform application program interface module from thefirst application on which the setting has been selected by a user, (ii)identify, based on the stored information, another selected setting thatconflicts with the selected setting indicated by the informationreceived from the first application, (iii) provide, to the firstapplication, information indicating the identified another selectedsetting that conflicts with the selected setting indicated by theinformation received from the first application, (iv) receive, via theplatform application program interface module, via which the informationindicating the setting is received from the first application,information indicating a setting from the second application on whichthe setting has been selected by a user, (v) identify, based on thestored information, another selected setting that conflicts with theselected setting indicated by the information received from the secondapplication, and (vi) provide, to the second application, informationindicating the identified another selected setting that conflicts withthe selected setting indicated by the information received from thesecond application.
 23. An apparatus according to claim 22, wherein theapparatus is a copier.
 24. An apparatus according to claim 23, wherein(a) the selected setting indicated by the information received from thefirst application and the identified another selected setting thatconflicts with the selected setting indicated by the informationreceived from the first application are settings of a printing functionprovided by the apparatus, or (b) the selected setting indicated by theinformation received from the second application and the identifiedanother selected setting that conflicts with the selected settingindicated by the information received from the second application aresettings of a printing function provided by the apparatus.
 25. Anapparatus according to claim 22, wherein the stored informationindicates that at least some of the settings conflict with each other.26. An apparatus according to claim 22, wherein the stored informationincludes combinations of settings that do not conflict with each other.27. An apparatus according to claim 22, wherein the application platformruns on an operation system of the apparatus.
 28. An apparatus accordingto claim 22, wherein the another selected setting that conflicts withthe selected setting indicated by the information received from thefirst application is a first setting, and the selected setting indicatedby the information received from the first application is a secondsetting, and wherein the first setting conflicts with the second settingat least because the first setting cannot be enabled while the secondsetting is enabled.
 29. An apparatus that stores a first application, asecond application, and an application platform commonly operating forthe first and second applications, the apparatus comprising: at leastone processor; and a storage unit that stores information indicating aconflict of settings commonly referred to for the first and secondapplications, wherein the application platform is executed by the atleast one processor and is configured to: (i) receive, from the firstapplication on which settings have been selected by a user, informationindicating the selected settings via a platform application programinterface module, (ii) determine, by referring to the storedinformation, whether the selected settings indicated by the receivedinformation from the first application conflict with each other, (iii)provide information based on the determination of (ii) to the firstapplication, (iv) receive, from the second application on which settingshave been selected by a user, information indicating the selectedsettings via the platform application program interface module, (v)determine, by referring to the stored information, whether the selectedsettings indicated by the received information from the secondapplication conflict with each other, and (vi) provide information basedon the determination of (v) to the second application.
 30. An apparatusaccording to claim 29, wherein the apparatus is a copier.
 31. Anapparatus according to claim 29, wherein the storage unit stores theinformation indicating the conflict of settings of a function providedby the apparatus.
 32. An apparatus according to claim 29, wherein theapplication platform is configured to provide the information accordingto (iii), (vi), or both (iii) and (vi) based on the respectivedetermination or determinations via the platform application programinterface module that is used in (i), (iv), or both (i) and (iv),respectively.
 33. An apparatus according to claim 29, wherein the storedinformation indicates that the settings indicated by the receivedinformation from (i), (iv), or each of (i) and (iv) conflict with eachother.
 34. An apparatus according to claim 29, wherein the storedinformation includes combinations of settings that do not conflict witheach other.
 35. An apparatus according to claim 29, wherein theapplication platform runs on an operation system of the apparatus. 36.An apparatus according to claim 29, wherein the settings indicated bythe received information from (i), (iv), or each of (i) and (iv)conflict with each other at least because one of the settings indicatedby the respective received information cannot be enabled while anotherone of the settings indicated by the respective received information isenabled.
 37. A control method implemented by an apparatus that stores anapplication platform, a first application, and a second application, andincludes at least one processor and a storage unit, the methodcomprising: storing, in the storage unit, information indicating aconflict of settings; (i) receiving, via one or more of the at least oneprocessor controlling execution of the application platform, informationindicating a setting via a platform application program interface modulefrom the first application on which the setting has been selected by auser; (ii) identifying, based on the stored information, and via one ormore of the at least one processor controlling execution of theapplication platform, another selected setting that conflicts with theselected setting indicated by the information received from the firstapplication; (iii) providing, to the first application via one or moreof the at least one processor controlling execution of the applicationplatform, information indicating the identified another selected settingthat conflicts with the selected setting indicated by the informationreceived from the first application, (iv) receiving, via one or more ofthe at least one processor controlling execution of the applicationplatform and via the platform application program interface module viawhich the information indicating the setting is received from the firstapplication, information indicating a setting from the secondapplication on which the setting has been selected by a user; (v)identifying, based on the stored information, and via one or more of theat least one processor controlling execution of the applicationplatform, another selected setting that conflicts with the selectedsetting indicated by the information received from the secondapplication; and (vi) providing, to the second application via one ormore of the at least one processor controlling execution of theapplication platform, information indicating the identified anotherselected setting that conflicts with the selected setting indicated bythe information received from the second application.
 38. A controlmethod according to claim 37, wherein the apparatus is a copier.
 39. Acontrol method according to claim 38, wherein (a) the selected settingindicated by the information received from the first application and theidentified another selected setting that conflicts with the selectedsetting indicated by the information received from the first applicationare settings of a printing function provided by the apparatus, or (b)the selected setting indicated by the information received from thesecond application and the identified another selected setting thatconflicts with the selected setting indicated by the informationreceived from the second application are settings of a printing functionprovided by the apparatus.
 40. A control method according to claim 37,wherein the stored information indicates that at least some of thesettings conflict with each other.
 41. A control method according toclaim 37, wherein the stored information includes combinations ofsettings that do not conflict with each other.
 42. A control methodaccording to claim 37, wherein the application platform runs on anoperation system of the apparatus.
 43. A control method according toclaim 37, wherein the another selected setting that conflicts with theselected setting indicated by the information received from the firstapplication is a first setting, and the selected setting indicated bythe information received from the first application is a second setting,and wherein the first setting conflicts with the second setting at leastbecause the first setting cannot be enabled while the second setting isenabled.
 44. A control method implemented by an apparatus that stores afirst application, a second application, and an application platformcommonly operating for the first and second applications, the methodcomprising: storing, in a storage unit, information indicating aconflict of settings commonly referred to for the first and secondapplications; (i) receiving, from the first application on whichsettings have been selected by a user, information indicating theselected settings via a platform application program interface module;(ii) determining, by referring to the stored information, whether theselected settings indicated by the received information from the firstapplication conflict with each other; (iii) providing information basedon the determination of (ii) to the first application; (iv) receiving,from the second application on which settings have been selected by auser, information indicating the selected settings via the platformapplication program interface module; (v) determining, by referring tothe stored information, whether the selected settings indicated by thereceived information from the second application conflict with eachother; and (vi) providing information based on the determination of (v)to the second application.
 45. A control method according to claim 44,wherein the apparatus is a copier.
 46. A control method according toclaim 44, wherein the storage unit stores the information indicating theconflict of settings of a function provided by the apparatus.
 47. Acontrol method according to claim 44, wherein the application platformis configured to provide the information according to (iii), (vi), orboth (iii) and (vi) based on the respective determination ordeterminations via the platform application program interface modulethat is used in (i), (iv), or both (i) and (iv), respectively.
 48. Acontrol method according to claim 44, wherein the stored informationindicates that the settings indicated by the received information from(i), (iv), or each of (i) and (iv) conflict with each other.
 49. Acontrol method according to claim 44, wherein the stored informationincludes combinations of settings that do not conflict with each other.50. A control method according to claim 44, wherein the applicationplatform runs on an operation system of the apparatus.
 51. A controlmethod according to claim 44, wherein the settings indicated by thereceived information from (i), (iv), or each of (i) and (iv) conflictwith each other at least because one of the settings indicated by therespective received information cannot be enabled while another one ofthe settings indicated by the respective received information isenabled.